require "import" 
import "com.androlua.*"
  import "android.widget.*" 
layout={ 
    GridView, 
    id="grid", 
    numColumns=2, 
    layout_width="fill", 
    layout_height="fill" 
}
items={"danh sách ứng dụng", "chuyển đổi chế độ âm thanh và rung","bật tắt wi-fi", "bật tắt bluetooth", "bật tắt đèn pin", "bật tắt chế độ luôn sáng màn hình", "bật tắt loại điều hướng", "bật tắt cử chỉ cạnh", "chuyển đổi bộ đọc", "gọi 900", "trình tiết kiệm pin", "âm thanh riêng biệt cho thiết bị khác", "chỉnh sửa văn bản", "chia sẻ văn bản", "Nhận dạng văn bản", "bật tắt giảm âm thanh khác", "tự động dán văn bản khi dịch", "chuyển đổi ngôn ngữ mục tiêu", "tự động dịch và dán văn bản khi nhập dữ liệu bằng giọng nói", "âm thanh riêng biệt cho samsung", "xóa tất cả nội dung trong bộ nhớ tạm", "xóa tất cả mục yêu thích", "tự động sao lưu lên đám mây", "tự động khôi phục cài đặt từ đám mây", "trợ lý Google"}
dlg=LuaDialog(this)
dlg.View=loadlayout(layout)
grid.adapter=SingleLineAdapter(service, String(items))
dlg.setTitle ("chức năng đặc biệt")
dlg.show()
grid.onItemClick=function(l,v)
dlg.dismiss()
task(100, function()
if v.text == "click vào đây để tham gia nhóm cộng đồng jieshuo việt nam nhé!" then service.openUrl(
"https://t.me/+4MDkmPC3YIcxODRl"
)
elseif v.text == "danh sách ứng dụng" then
--تُمَكِّنُك من فتح درج التطبيقات. قم بتفعيل الوظيفة و سيتم فتح درج التطبيقات في اي واجهة تطبيق مباشرتا
require 'import'
import 'android.content.*'
i= Intent(Intent.ACTION_SHOW_WORK_APPS)
this.startActivity(i)
elseif v.text == "chuyển đổi chế độ âm thanh và rung" then
require "import";
import "android.content.Context"
import "android.media.AudioManager"
import "com.androlua.*"
local audioManager=service.getSystemService(this.AUDIO_SERVICE)
local audioMode = audioManager.getRingerMode()
if audioMode == 1 then
audioManager.setRingerMode(audioManager.RINGER_MODE_NORMAL)
service.speak ("đã chuyển đổi chế độ âm thanh")
elseif audioMode == 2 then
audioManager.setRingerMode(audioManager.RINGER_MODE_VIBRATE)
this.speak("đã chuyển đổi chế độ rung")
end
elseif v.text == "bật tắt wi-fi" then
require "import"
import "android.net.wifi.WifiManager"
local bt= this.getSystemService(this.WIFI_SERVICE) 
if bt.isWifiEnabled() == true then
bt.setWifiEnabled(false)
this.speak(" đã tắt Wifi  ") 
elseif bt.isWifiEnabled() == false then
bt.setWifiEnabled(true)
this.speak(" đã bật Wifi  ")
end
return true
elseif v.text == "bật tắt bluetooth" then
require "import"
import "android.bluetooth.BluetoothAdapter"
local bt= BluetoothAdapter.getDefaultAdapter()
if bt.isEnabled() == true then
bt.disable()
this.speak(" đã tắt bluetooth ") 
elseif bt.isEnabled() == false then
bt.enable()
this.speak(" đã bật bluetooth ")
end
return true
elseif v.text == "bật tắt đèn pin" then
if RFirst then
RFirst = 1;
else
RFirst = 2;
end
if RFirst == 2 then
RCount = 1;
end
if RFirst == 1 then
RCount = RCount+1;
end
if RCount > 2 then
RCount = 1
end
if RCount == 1 then 
require "import"
task(100,function()
require "import"
import "android.content.Context"
import "android.content.pm.PackageManager"
import "android.hardware.camera2.*"
import "android.os.Build"
import "android.os.Bundle"
import "java.util.jar.Manifest"
import "android.provider.*"

local hasFlash = service.packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)
local cameraManager  = service.getSystemService(this.CAMERA_SERVICE)
local cameraId = cameraManager.cameraIdList[0]

cameraManager.setTorchMode(cameraId,true)
service.speak(" đã bật đèn pin ")
return true
end)
else
if RCount == 2 then  
task(100,function()
require "import"
import "android.content.Context"
import "android.content.pm.PackageManager"
import "android.hardware.camera2.*"
import "android.os.Build"
import "android.os.Bundle"
import "java.util.jar.Manifest"
import "android.provider.*"

local hasFlash = service.packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)
local cameraManager  = service.getSystemService(this.CAMERA_SERVICE)
local cameraId = cameraManager.cameraIdList[0]

cameraManager.setTorchMode(cameraId,false)
service.speak(" đã tắt đèn pin")
return true
end)
end
end
elseif v.text == "bật tắt chế độ luôn sáng màn hình" then
require "import"
import "android.os.PowerManager"
if wlk then
wlk.release()
wlk=nil
service.speak("đã tắt chế độ luôn sáng màn hình")
return true
end
wlk = this.getSystemService(this.POWER_SERVICE).newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"")
wlk.acquire()
service.speak("đã bật chế độ luôn sáng màn hình")
elseif v.text == "bật tắt loại điều hướng" then
require 'import'
import 'com.androlua.*'
t= service.isUseWebMove()
t2= service.isUseViewMove()
r= service.isInWebView(node)
r2= service.isNoneFocusView(nodenode)

if r == true and  t == true then
return true, service.setUseViewMove(false), service.setUseWebMove(false), service.speak('đã tắt các loại điều hướng khi duyệt wep')
elseif r == true and t == false then
return true, service.setUseViewMove(false), service.setUseWebMove(true), service.speak(' đã bật các loại điều hướng khi duyệt wep')
elseif r == false and t2 == false then
return true, service.setUseViewMove(true), service.speak("đã bật các loại điều hướng duyệt tiêu chuẩn")
elseif r == false and t2 == true then
return true, service.setUseViewMove(false), service.speak('đã tắt các loại điều hướng khi duyệt tiêu chuẩn')
end
return true
elseif v.text == "bật tắt cử chỉ cạnh" then
if RFirst then
RFirst = 1;
else
RFirst = 2;
end
if RFirst == 2 then
RCount = 0;
end
if RFirst == 1 then
RCount = RCount+1;
end
if RCount > 2 then
RCount = 1
end
if RCount == 1 then
if service.click({
{"%暂停边缘手势",}})
service.speak("đã bật cử chỉ cạnh")
return true
end
elseif RCount == 2 then
if service.click({
{"%暂停边缘手势",}})
service.speak("đã tắt cử chỉ cạnh")
return true
end
end
return true
elseif v.text == "chuyển đổi bộ đọc" then
require "import"
import "java.io.*"
pn=this.getPackageManager().getPackageInfo(this.getPackageName(),0).packageName 
if File("/storage/emulated/0/Android/data/"..pn.."/files/brightness.txt").isFile() then 
service.click({
{"%Chọn công cụ tts chính./com.google.android.tts",
service.postSpeak(100, "đã chuyển đổi công cụ TTS sang Google tts")
}
})
os.remove("/storage/emulated/0/Android/data/"..pn.."/files/brightness.txt")
else
service.click({
{"%Chọn công cụ tts chính./com.vnspeak.autotts",
service.postSpeak(100, "đã chuyển đổi công cụ TTS sang auto tts")
}
})

io.open("/storage/emulated/0/Android/data/"..pn.."/files/brightness.txt","w"):write("status=true"):close() 
end
elseif v.text == "gọi 900" then
require "import" 
import "android.net.Uri"
import "android.content.Intent"
this.startActivity(Intent(Intent.ACTION_CALL,Uri.parse("tel:900")))
elseif v.text == "trình tiết kiệm pin" then
require "import"
import "android.provider.Settings"
import "android.content.Intent"
this.startActivity(Intent(Settings.ACTION_BATTERY_SAVER_SETTINGS))
elseif v.text == "âm thanh riêng biệt cho thiết bị khác" then
require "import"
import "android.media.AudioManager"
local audioManager=service.getSystemService(this.AUDIO_SERVICE)

local a= audioManager.isSpeakerphoneOn()
audioManager.setMode(0)
switch a
case false
audioManager.setSpeakerphoneOn(true)
service.speak("Đã bật âm thanh riêng biệt"
)case true
audioManager.setSpeakerphoneOn(false)
service.speak("Đã tắt âm thanh riêng biệt")
end
return true
elseif v.text == "chia sẻ văn bản" then
require "import"
import "android.content.*"
this.startActivity(Intent.createChooser(Intent(Intent.ACTION_SEND).putExtra(Intent.EXTRA_TEXT,this.getText(node)).setType("text/plain"),null))
elseif v.text == "chỉnh sửa văn bản" then
require "import"
import "android.widget.*"
import "com.androlua.*"
sj={
"xoá văn bản trong ô nhập liệu","sao chép","nối văn bản","sao chép tất cả","chế độ đa lựa chọn","dán","lịch sử bộ nhớ tạm","mục yêu thích","chế độ chỉnh sửa chi tiết ","lựa chọn văn bản đầy đủ",
}
dj={
{{"%إعدادات الإجراءات$200", "إختصارات لَوْحَة المَفاتيح الخارجية$200", "<*محمد رضا*#2",}}, 
{{"%复制"}},
{{"%追加复制"}},
{{"%选取"}},
{{"%全文选取"}},
{{"%粘贴"}},
{{"%剪切板"}},
{{"%收藏夹"}},
{{"%拆分编辑"}},
{{"%全文浏览"}}
}
layout={
GridView,
id="grid",
numColumns=7,
}

dlg=LuaDialog(service)
.setTitle("tuỳ chỉnh soạn thảo văn bản") --标题
dlg.View=loadlayout(layout)
grid.adapter=SingleLineAdapter(service,String(sj))
dlg.setButton("thoát",nil)dlg.show()
grid.onItemClick=function(l,v,p,i)
dlg.hide()
task(500,function()
service.click(dj[p+1])
end)
end
elseif v.text == "trợ lý Google" then
require "import"
import "android.content.Intent"
this.startActivity(Intent("android.intent.action.VOICE_COMMAND"))
if service.click({
{"Click to talk with Google Assistant.>3",
}
})
return true
end
return true
elseif v.text == "Nhận dạng văn bản" then if service.click({
{"%Nhận dạng văn bản."
}})
return true end
elseif v.text == "bật tắt giảm âm thanh khác" then if service.click({
{"%tts$100",
"Chọn công cụ tts chính.$100",
"Giảm âm thanh khác.$100",
"%Quay lại.<3",
}})
return true end
elseif v.text == "tự động dán văn bản khi dịch" then if service.click({
{"%Dịch.$5000",
"%Xóa tất cả văn bản trong ô nhập liệu.$1000",
"%Dán.$100",
}})
return true end
elseif v.text == "chuyển đổi ngôn ngữ mục tiêu" then
lang_code1 = "en" 
lang_code2 = "vie" 
msg1 = "đã chuyển đổi ngôn ngữ mục tiêu sang tiếng Anh"
msg2 = "đã chuyển đổi ngôn ngữ mục tiêu sang tiếng Việt"
loadstring("=IAPYthkQWr2DFAH7uAABwAAA5BA10aAGv/rgoQWDZikv/QHExAQBBQAMCERAAQXc7Kpi0jfZwwrQfDwQUGxtI2CJicBgJAQAEEhYExxNyGH/nig4MaZEycAgV6SGuR/SMjvLyQkbG2TQ47HtQt2UBh4+Yjvw13RE3NvLOj6ZscZtAEcI28cOmPBxUH8xlO1Ta8NH3GqOvqLiGirkDuU8wdln1/PnOEcGxX1l73hlU84uMRZn63OFRhhYkbOVrHcHC8OJiY2NubwZY8fDXM9M8Jb0TvRdqFy65PcT7Mwuep044IfM8cBV6wH/W82JmxIkKYno7Dd8OItwSY3Qv/tRlzfEEbiW1ZBbPbCVOrmjm5/Rtto+OvseKCGak3AQl8ShyLWO+Pre/STGnoSJRooOTco8lyuG7PgdVYvYpthvc8DDbXRLTxO2uhxoNDHfVqCrnRViZQ8qtkQ0nye4Sr6S5itrntdj60BU0+iLHvBly0HXcn517g+um0tfJISXy/CV+H3HwIBAUCB2g+iiux4wdZsBigJ2e87Jec5OpiTyAHHmWYOJIJeSk4DRp6IR2zqYkbqFrsDxUNLSFnCig7XKzMkx3Sjd+GASSexFjwBSyrObCvAJyqRXixdGxp0cUsJqGg/G6m7ZbiSpSAlZ8czGqjbh0pXr6vH3pWhYkVNceEkU0BB4WvN0C46udrmpv8tIFyyEonL7AtPuz0KFV2BgBKyX9cHRQLW1IdT50iFHIKWDtTOUACkjOje")()
elseif v.text == "tự động dịch và dán văn bản khi nhập dữ liệu bằng giọng nói" then if service.click({
{"%Nhập dữ liệu bằng giọng nói.$10000",
"%Dịch.$1000",
"%Xóa tất cả văn bản trong ô nhập liệu.$100",
"%Dán.$10",
}})
return true end
elseif v.text == "âm thanh riêng biệt cho samsung" then if service.click({
{"%Thanh thông báo.$100",
"Đầu ra media$100",
"Điện thoại này*>1000$100",
"%Quay lại.$100",
}})
return true end
elseif v.text == "xóa tất cả nội dung trong bộ nhớ tạm" then if service.click({
{"%Lịch sử bộ nhớ tạm.>1000$1",
"TRÌNH QUẢN LÝ.>1000$1",
"CHỌN TẤT CẢ>1000$1",
"XÓA.",
}})
return true end
elseif v.text == "xóa tất cả mục yêu thích" then if service.click({
{"%MỤC YÊU THÍCH.>1000$1",
"TRÌNH QUẢN LÝ.>1000$1",
"CHỌN TẤT CẢ>1000$1",
"XÓA.",
}})
return true end
elseif v.text == "tự động sao lưu lên đám mây" then if service.click({
{"%nâng cao>30$30",
"%Vuốt thô lên.>30$30",
"sao lưu và khôi phục đám mây>30$30",
"tùy chọn sao lưu>30$30",
"Sao lưu tất cả các cài đặt.>30$30",
"Sao lưu lịch sử bộ nhớ tạm.>30$30",
"Sao lưu mục yêu thích.>30$30",
"Sao lưu nhãn hẹn giờ.>30$30",
"Sao lưu nhãn tùy chỉnh.>30$30",
"Sao lưu cử chỉ.>30$30",
"Sao lưu lệnh thoại.>30$30",
"Sao lưu cài đặt phím nóng.>30$30",
"OK$5000",
"OK",
"%Quay lại.<3$10",
}})
return true end
elseif v.text == "tự động khôi phục cài đặt từ đám mây" then if service.click({
{"%nâng cao>30$30",
"%Vuốt thô lên.>30$30",
"sao lưu và khôi phục đám mây>30$30",
"tùy chọn khôi phục>30$30",
"Khôi phục tất cả các cài đặt.>30$30",
"Khôi phục lịch sử bộ nhớ tạm.>30$30",
"Khôi phục mục yêu thích.>30$30",
"Khôi phục nhãn hẹn giờ.>30$30",
"Khôi phục nhãn tùy chỉnh.>30$30",
"Khôi phục sơ đồ cử chỉ.>30$30",
"Khôi phục lệnh thoại.>30$30",
"Khôi phục cài đặt phím nóng.>30$30",
"OK$5000",
"ok",
"%Quay lại.<3$10",
}})
return true end
return true end
end)
end